package com.shujia.day13;

import java.util.HashMap;

public class Code02Exception {
    public static void main(String[] args) {
        /*
            异常： 异常指的是Java中编译或者运行过程中出现的错误

            Java中异常的分类：
                Error: 错误
                RuntimeException:运行时期出现的异常
                除了RuntimeException以外其他异常： 编译时期出现的异常


            例如：
                以做菜为例，做菜先买菜，但是做菜之前，发现有盐 肉等主要调料食材不够做不了菜 这个是编译时期异常
                假如做菜过程中，锅破了 做不了 运行时期出现的问题 RuntimeException
                锅补好了，但是做的过程中菜糊了 ERROR


            把异常的名称，错误原因及异常出现的位置等信息输出在了控制台


            注意：
                有时对于错误提示位置，不够准确，可能错误发生的原因是在提示信息之前就已经出现了
                对于错误提示，一定要结合上下文全面分析

         */


        // 以下两种都是运行时期的异常
        int a = 10;
        int b = 0;
//        System.out.println(a/b);  // java.lang.ArithmeticException: / by zero


        int[] ints = {3,4,5,6};
        System.out.println(ints[4]);  // java.lang.ArrayIndexOutOfBoundsException: 4

        // 编译时期的异常
//        HashMap hStudent = new HStudent();


    }
}
